package parser.prestige.technologia.xml;

import parser.prestige.AbstractNode;
import parser.prestige.IXmlElement;

import javax.xml.stream.XMLEventFactory;
import javax.xml.stream.XMLEventWriter;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.events.XMLEvent;

/**
 * Created with IntelliJ IDEA.
 * User: msi
 * Date: 10.12.13
 * Time: 21:54
 * To change this template use File | Settings | File Templates.
 */
public class BomItem extends AbstractNode implements IXmlElement {
    public String getIndeks() {
        return indeks;
    }

    private String indeks;
    private String nazwa;
    private String kodMagazyn;
    private String ilosc;
    private String cena;
    private String narzut;
    private String rodzajMat;
    private String rodzajCeny;
    private String rodzajRealiz;
    private String przelacznik;

    public BomItem(String indeks, String nazwa, String kodMagazyn, String ilosc, String cena, String narzut, String rodzajMat, String rodzajCeny, String rodzajRealiz, String przelacznik) {
        this.indeks = indeks;
        this.nazwa = nazwa;
        this.kodMagazyn = kodMagazyn;
        this.ilosc = ilosc;
        this.cena = cena;
        this.narzut = narzut;
        this.rodzajMat = rodzajMat;
        this.rodzajCeny = rodzajCeny;
        this.rodzajRealiz = rodzajRealiz;
        this.przelacznik = przelacznik;
    }

    public BomItem() {
        this.indeks = "";
        this.nazwa = "";
        this.kodMagazyn = "";
        this.ilosc = "";
        this.cena = "";
        this.narzut = "";
        this.rodzajMat = "";
        this.rodzajCeny = "";
        this.rodzajRealiz = "";
        this.przelacznik = "";
    }

    @Override
    public void createAsNode(XMLEventWriter eventWriter, int tabValue) throws XMLStreamException {
        XMLEventFactory eventFactory = XMLEventFactory.newInstance();
        XMLEvent endLineEvent = eventFactory.createDTD("\n");
        XMLEvent tabulatorEvent = eventFactory.createDTD("\t");

        //TAG: <BomItem>
        addTabs(eventWriter, tabValue);
        eventWriter.add(eventFactory.createStartElement("", "", "BomItem"));
        eventWriter.add(endLineEvent);

        //skladowe BomItem
        addNode(eventWriter, "Indeks", indeks, tabValue + 1);
        addNode(eventWriter, "Nazwa", nazwa, tabValue + 1);
        addNode(eventWriter, "KodMagazyn", kodMagazyn, tabValue + 1);
        addNode(eventWriter, "Ilosc", ilosc, tabValue + 1);
        addNode(eventWriter, "Cena", cena, tabValue + 1);
        addNode(eventWriter, "Narzut", narzut, tabValue + 1);
        addNode(eventWriter, "RodzajMat", rodzajMat, tabValue + 1);
        addNode(eventWriter, "RodzajCeny", rodzajCeny, tabValue + 1);
        addNode(eventWriter, "RodzajRealiz", rodzajRealiz, tabValue + 1);
        addNode(eventWriter, "Przelacznik", przelacznik, tabValue + 1);
        //koniec skladowych BomItem

        //TAG: </BomItem>
        addTabs(eventWriter, tabValue);
        eventWriter.add(eventFactory.createEndElement("","","BomItem"));
        eventWriter.add(endLineEvent);
    }
    public void setIndeks(String indeks) {
        this.indeks = indeks;
    }

    public String getNazwa() {
        return nazwa;
    }

    public void setNazwa(String nazwa) {
        this.nazwa = nazwa;
    }

    public String getKodMagazyn() {
        return kodMagazyn;
    }

    public void setKodMagazyn(String kodMagazyn) {
        this.kodMagazyn = kodMagazyn;
    }

    public String getIlosc() {
        return ilosc;
    }

    public void setIlosc(String ilosc) {
        this.ilosc = ilosc;
    }

    public String getCena() {
        return cena;
    }

    public void setCena(String cena) {
        this.cena = cena;
    }

    public String getNarzut() {
        return narzut;
    }

    public void setNarzut(String narzut) {
        this.narzut = narzut;
    }

    public String getRodzajMat() {
        return rodzajMat;
    }

    public void setRodzajMat(String rodzajMat) {
        this.rodzajMat = rodzajMat;
    }

    public String getRodzajCeny() {
        return rodzajCeny;
    }

    public void setRodzajCeny(String rodzajCeny) {
        this.rodzajCeny = rodzajCeny;
    }

    public String getRodzajRealiz() {
        return rodzajRealiz;
    }

    public void setRodzajRealiz(String rodzajRealiz) {
        this.rodzajRealiz = rodzajRealiz;
    }

    public String getPrzelacznik() {
        return przelacznik;
    }

    public void setPrzelacznik(String przelacznik) {
        this.przelacznik = przelacznik;
    }
}
